package me.lxqq.erp.bemall;

import com.huice.base.TestBase;
import me.lxqq.test.web.RandomHolder;
import org.openqa.selenium.WebElement;
import org.testng.Assert;
import org.testng.annotations.Test;

import java.util.List;
import java.util.Map;

/**
 * 主页功能测试
 * 时间：2018年6月5日19:16:41
 * 作者:lxqq0000
 */
public class IndexTest extends TestBase {

    @Test
    public void testSelect() throws Exception {


        Object[][] dataArr = getdata();
        if (dataArr.length == 0 || dataArr[0].length == 0) {
            Assert.fail("数据配置文件没有数据！");
        }
        Map<String, String> dataMap = (Map<String, String>) dataArr[0][0];

        //验证已经跳转到主页
        Assert.assertTrue(locator.waitToUrl(dataMap.get("主页URL")), "未能跳转到主页");
        //等待到主页加载完毕
        locator.elementIsPresent("首页", "商品");
        //断言有商品
        Assert.assertTrue(locator.getElementsCount("首页", "商品") > 0, "主页没有商品");

        //记录当前网页标签数量
        locator.recordWindows();

        //随机选择所有商品中的一个
        List<WebElement> elements = locator.getElements("首页", "商品");
        int anInt = RandomHolder.nextInt(elements.size());
        WebElement webElement = elements.get(anInt);
        //点击选择的一个商品
        webElement.click();

        //等待打开新页面
        Assert.assertTrue(locator.waitHasNewWindows(), "没有打开新页面");


    }

}